import '../models/emotion_record.dart';

/// 媒体文件数据仓库接口
/// Media file repository interface
abstract class MediaRepository {
  /// 根据记录ID获取媒体文件列表
  /// Get media files by record ID
  Future<List<MediaFile>> getMediaFilesByRecordId(String recordId);

  /// 插入媒体文件
  /// Insert media file
  Future<String> insertMediaFile(MediaFile mediaFile);

  /// 删除媒体文件
  /// Delete media file
  Future<void> deleteMediaFile(String id);

  /// 根据记录ID删除所有媒体文件
  /// Delete all media files by record ID
  Future<void> deleteMediaFilesByRecordId(String recordId);

  /// 获取媒体文件总大小
  /// Get total media file size
  Future<int> getTotalMediaFileSize();

  /// 清理无效的媒体文件
  /// Cleanup invalid media files
  Future<void> cleanupInvalidMediaFiles();
}